table of contents
SSSD-KRB5(5) | Формати файлів та правила | SSSD-KRB5(5) |
NAME¶
sssd-krb5 - Модуль надання даних Kerberos SSSD
ОПИС¶
На цій сторінці довідника описано налаштування засобу розпізнавання Kerberos 5 для sssd(8). Щоб дізнатися більше про синтаксис налаштування, зверніться до розділу «ФОРМАТ ФАЙЛА» сторінки довідника sssd.conf(5).
Модуль розпізнавання Kerberos 5 містити засоби розпізнавання та зміни паролів. З метою отримання належних результатів його слід використовувати разом з інструментом обробки профілів (наприклад, id_provider = ldap). Деякі з даних, потрібних для роботи модуля розпізнавання Kerberos 5, має бути надано інструментом обробки профілів, серед цих даних Kerberos Principal Name (UPN) або реєстраційне ім’я користувача. У налаштуваннях інструменту обробки профілів має бути запис з визначенням UPN. Докладні настанови щодо визначення такого UPN має бути викладено на сторінці довідника (man) відповідного інструменту обробки профілів.
У цьому інструменті керування даними також передбачено можливості керування доступом, засновані на даних з файла k5login у домашньому каталозі користувача. Докладніші відомості можна отримати з підручника до k5login(5). Зауважте, що якщо файл .k5login виявиться порожнім, доступ користувачеві буде заборонено. Щоб задіяти можливість керування доступом, додайте рядок «access_provider = krb5» до ваших налаштувань SSSD.
У випадку, коли доступу до UPN у модулі профілів не передбачено, sssd побудує UPN у форматі ім’я_користувача@область_krb5.
ПАРАМЕТРИ НАЛАШТУВАННЯ¶
Якщо у домені SSSD використано auth-module krb5, має бути використано вказані нижче параметри. Зверніться до сторінки довідника (man) sssd.conf(5), розділ «РОЗДІЛИ ДОМЕНІВ», щоб дізнатися більше про налаштування домену SSSD.
krb5_server, krb5_backup_server (рядок)
Під час використання виявлення служб для серверів KDC або kpasswd SSSD спочатку намагається знайти записи DNS, у яких визначається протокол _udp. Використання протоколу _tcp відбувається, лише якщо таких записів не вдасться знайти.
У попередніх випусках SSSD цей параметр мав назву «krb5_kdcip». У поточній версії передбачено розпізнавання цієї застарілої назви, але користувачам варто перейти на використання «krb5_server» у файлах налаштувань.
krb5_realm (рядок)
krb5_kpasswd, krb5_backup_kpasswd (рядок)
Додаткові відомості щодо резервних серверів можна знайти у розділі «РЕЗЕРВ». Зауваження: навіть якщо список всіх серверів kpasswd буде вичерпано, модуль не перемкнеться у автономний режим роботи, якщо розпізнавання за KDC залишатиметься можливим.
Типове значення: використання KDC
krb5_ccachedir (рядок)
Типове значення: /tmp
krb5_ccname_template (рядок)
%u
%U
%p
%r
%h
%d
%P
%%
Якщо шаблон завершується послідовністю «XXXXXX», для безпечного створення назви файла використовується mkstemp(3).
Якщо використовуються типи KEYRING, єдиним підтримуваним механізмом є «KEYRING:persistent:%U», тобто використання сховища ключів ядра Linux для зберігання реєстраційних даних на основі поділу за UID. Цей варіант є рекомендованим, оскільки це найбезпечніший та найпередбачуваніший спосіб.
Типове значення назви кешу реєстраційних даних буде запозичено з загальносистемного профілю, що зберігається у файлі налаштувань krb5.conf, розділ [libdefaults]. Назва параметра — default_ccache_name. Див. розділ щодо розгортання параметрів (PARAMETER EXPANSION) у довідці щодо krb5.conf(5), щоб отримати додаткові дані щодо формату розгортання, використаного у krb5.conf.
ЗАУВАЖЕННЯ: майте на увазі, що шаблон розширення ccache libkrb5 з krb5.conf(5) використовує інші послідовності розширення, що не збігаються із використаними у SSSD.
Типове значення: (з libkrb5)
krb5_keytab (рядок)
Типове значення: системна таблиця ключів, зазвичай /etc/krb5.keytab
krb5_store_password_if_offline (булівське значення)
Зауваження: ця можливість у поточній версії доступна лише на платформі Linux. Паролі зберігатимуться у форматі звичайного тексту (без шифрування) у сховищі ключів ядра, потенційно до них може отримати доступ адміністративний користувач (root), але йому для цього слід буде подолати деякі перешкоди.
Типове значення: false
krb5_use_fast (рядок)
never використовувати FAST, рівнозначний варіанту, за якого значення цього параметра взагалі не задається.
try — використовувати FAST. Якщо на сервері не передбачено підтримки FAST, продовжити розпізнавання без FAST.
demand — використовувати FAST. Якщо на сервері не передбачено підтримки FAST, спроба розпізнавання зазнає невдачі.
Типове значення: не встановлено, тобто FAST не використовується.
Зауваження: будь ласка, зауважте, що для використання FAST потрібна таблиця ключів або підтримка анонімного PKINIT.
Зауваження: у SSSD передбачено підтримку FAST лише у разі використання MIT Kerberos версії 1.8 або новішої. Якщо SSSD буде використано зі старішою версією MIT Kerberos і цим параметром, буде повідомлено про помилку у налаштуваннях.
krb5_fast_principal (рядок)
krb5_fast_use_anonymous_pkinit (булеве значення)
Типове значення: false
krb5_use_kdcinfo (булеве значення)
Див. сторінку підручника (man) sssd_krb5_locator_plugin(8), щоб дізнатися більше про додаток пошуку.
Типове значення: true
krb5_kdcinfo_lookahead (рядок)
Параметр krb5_kdcinfo_lookahead містить два числа, які відокремлено двокрапкою. Перше число визначає кількість основних серверів, а друге — кількість резервних серверів.
Наприклад, 10:0 означає «буде передано до 10 основних серверів до sssd_krb5_locator_plugin(8)», але не буде передано резервні сервери
Типове значення: 3:1
krb5_use_enterprise_principal (булеве значення)
Типове значення: false (надається AD: true)
Засіб надання даних IPA встановить для цього параметра значення «true», якщо виявить, що сервер здатен обробляти реєстраційні дані промислового класу, і параметр на встановлено явним чином у файлі налаштувань.
krb5_use_subdomain_realm (булеве значення)
Типове значення: false
krb5_map_user (рядок)
приклад:
krb5_realm = REALM krb5_map_user = joe:juser,dick:richard
“joe” і “dick” — імена користувачів UNIX, а “juser” і “richard” основні частини реєстраційних записів kerberos. Для користувачів “joe” та, відповідно, “dick” SSSD намагатиметься виконати ініціалізацію kinit як “juser@REALM” і, відповідно, “richard@REALM”.
Типове значення: not set
krb5_auth_timeout (ціле число)
Типове значення: 6
krb5_validate (булеве значення)
Типове значення: false (надається IPA та AD: true)
Будь ласка, зауважте, що перевірка квитка є першим кроком при перевірці PAC (див. «pac_check» на сторінці підручника щодо sssd.conf(5), щоб дізнатися більше). Якщо перевірку квитків вимкнено, також буде вимкнено і перевірки PAC.
krb5_renewable_lifetime (рядок)
s — секунди
m — хвилини
h — години
d — дні.
Якщо одиниці часу не буде вказано, вважатиметься, що використано одиницю s.
Зауваження: не можна використовувати одразу декілька одиниць. Якщо вам потрібно встановити строк дії у півтори години, слід вказати «90m», а не «1h30m».
Типове значення: не встановлено, тобто TGT не є оновлюваним
krb5_lifetime (рядок)
s — секунди
m — хвилини
h — години
d — дні.
Якщо одиниці часу не буде вказано, вважатиметься, що використано одиницю s.
Зауваження: не можна використовувати одразу декілька одиниць. Якщо вам потрібно встановити строк дії у півтори години, слід вказати «90m», а не «1h30m».
Типове значення: не встановлено, тобто типовий строк дії квитка визначатиметься у налаштуваннях KDC.
krb5_renew_interval (рядок)
s — секунди
m — хвилини
h — години
d — дні.
Якщо одиниці часу не буде вказано, вважатиметься, що використано одиницю s.
Зауваження: не можна використовувати одразу декілька одиниць. Якщо вам потрібно встановити строк дії у півтори години, слід вказати «90m», а не «1h30m».
Якщо значення для цього параметра встановлено не буде або буде встановлено значення 0, автоматичного оновлення не відбуватиметься.
Типове значення: not set
krb5_canonicalize (булеве значення)
Типове значення: false
РЕЗЕРВ¶
Можливість резервування надає змогу модулям обробки автоматично перемикатися на інші сервери, якщо спроба встановлення з’єднання з поточним сервером зазнає невдачі.
Синтаксичні конструкції визначення резервного сервера¶
Список записів серверів, відокремлених комами. Між комами можна використовувати довільну кількість пробілів. Порядок у списку визначає пріоритет. У списку може бути будь-яка кількість записів серверів.
Для кожного з параметрів налаштування з увімкненим резервним отриманням існує два варіанти: основний і резервний. Ідея полягає у тому, що сервери з основного списку мають вищий пріоритет за резервні сервери, пошук же на резервних серверах виконується, лише якщо не вдасться з’єднатися з жодним з основних серверів. Якщо буде вибрано резервний сервер, встановлюється час очікування у 31 секунду. Після завершення часу очікування SSSD періодично намагатиметься повторно встановити з’єднання з основними серверами. Якщо спроба буде успішною, поточний активний резервний сервер буде замінено на основний.
Механізм визначення резервного сервера¶
Механізмом резервного використання розрізняються окремі комп’ютери і служби. Спочатку модуль намагається визначити назву вузла вказаного комп’ютера. Якщо спроби визначення зазнають невдачі, комп’ютер вважатиметься від’єднаним від мережі. Подальших спроб встановити з’єднання з цим комп’ютером для всіх інших служб не виконуватиметься. Якщо вдасться виконати визначення, модуль зробити спробу встановити з’єднання зі службою на визначеному комп’ютері. Якщо спроба з’єднання зі службою не призведе до успіху, непрацездатною вважатиметься лише служба, модуль автоматично перемкнеться на наступну службу. Комп’ютер служби вважатиметься з’єднаним з мережею, можливі подальші спроби використання інших служб.
Подальші спроби встановлення з’єднання з комп’ютерами або службами, позначеними як такі, що перебувають поза мережею, буде виконано за певний проміжок часу. У поточній версії цей проміжок є незмінним і дорівнює 30 секундам.
Якщо список комп’ютерів буде вичерпано, основний модуль перейде у режим автономної роботи і повторюватиме спроби з’єднання кожні 30 секунд.
Час очікування на перемикання на резервний ресурс та точне налаштовування¶
Для визначення сервера для з'єднання достатньо одного запиту DNS або декількох кроків, зокрема визначення відповідного сайта або спроба використати декілька назв вузлів у випадку, якщо якісь із налаштованих серверів недоступні. Складніші сценарії можуть потребувати додаткового часу, а SSSD треба збалансувати надання достатнього часу для завершення процесу визначення і використання притомного часу на виконання цього запиту перед переходом до автономного режиму. Якщо діагностичний журнал SSSD показує, що під час визначення сервера перевищено час очікування на з'єднання із працездатним сервером, варто змінити значення параметрів часу очікування.
У цьому розділі наведено списки доступних для коригування параметрів. Будь ласка, ознайомтеся із їхніми описами за допомогою сторінки підручника sssd.conf(5).
dns_resolver_server_timeout
Типове значення: 1000
dns_resolver_op_timeout
Типове значення: 3
dns_resolver_timeout
Типове значення: 6
Для заснованих на LDAP постачальників даних дія з визначення виконується як частина дії зі встановлення з'єднання із LDAP. Тому слід також встановити для часу очікування “ldap_opt_timeout” значення, яке перевищуватиме значення “dns_resolver_timeout”, яке також має перевищувати значення “dns_resolver_op_timeout”, яке має перевищувати значення “dns_resolver_server_timeout”.
ПОШУК СЛУЖБ¶
За допомогою можливості виявлення служб основні модулі мають змогу автоматично визначати відповідні сервери для встановлення з’єднання на основі даних, отриманих у відповідь на спеціальний запит до DNS. Підтримки цієї можливості для резервних серверів не передбачено.
Налаштування¶
Якщо серверів не буде вказано, модуль автоматично використає визначення служб для пошуку сервера. Крім того, користувач може використовувати і фіксовані адреси серверів і виявлення служб. Для цього слід вставити особливе ключове слово, «_srv_», до списку серверів. Пріоритет визначається за вказаним порядком. Ця можливість є корисною, якщо, наприклад, користувач надає перевагу використанню виявлення служб, якщо це можливо, з поверненням до використання певного сервера, якщо за допомогою DNS не вдасться виявити жодного сервера.
Назва домену¶
З докладнішими відомостями щодо параметра «dns_discovery_domain» можна ознайомитися на сторінці підручника (man) sssd.conf(5).
Протокол¶
Запитами зазвичай визначається протокол _tcp. Виключення документовано у описі відповідного параметра.
Також прочитайте¶
Докладніші відомості щодо механізмів визначення служб можна знайти у RFC 2782.
ПРИКЛАД¶
У наведеному нижче прикладі припускається, що SSSD налаштовано належним чином, а FOO є одним з доменів у розділі [sssd]. У прикладі продемонстровано лише налаштування розпізнавання аз допомогою Kerberos, там не вказано інструменту обробки профілів.
[domain/FOO] auth_provider = krb5 krb5_server = 192.168.1.1 krb5_realm = EXAMPLE.COM
ТАКОЖ ПЕРЕГЛЯНЬТЕ¶
sssd(8), sssd.conf(5), sssd-ldap(5), sssd-ldap-attributes(5), sssd-krb5(5), sssd-simple(5), sssd-ipa(5), sssd-ad(5), sssd-files(5), sssd-sudo(5), sssd-session-recording(5), sss_cache(8), sss_debuglevel(8), sss_obfuscate(8), sss_seed(8), sssd_krb5_locator_plugin(8), sss_ssh_authorizedkeys(8), sss_ssh_knownhostsproxy(8), sssd-ifp(5), pam_sss(8). sss_rpcidmapd(5) sssd-systemtap(5)
AUTHORS¶
Основна гілка розробки SSSD — https://pagure.io/SSSD/sssd/
04/18/2024 | SSSD |